package reflect;

import java.lang.reflect.Method;
import java.util.Scanner;

public class ReflectDemo1 {
    public static void main(String[] args) throws ClassNotFoundException {
        //Class cls=Math.class;//获取类对象
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入类名");
        String name=sc.next();
        Class cls=Class.forName(name);

        String className=cls.getName();//获取类对象表示的类完全限定名
        System.out.println(cls.getName());//获取完全限定名
        System.out.println(cls.getSimpleName());//获取简单类名

        //Class的每个实例用于表示一个类，package是反射对象之一，他的每一个实例仅表示一个包
        Package pkg=cls.getPackage();
        String packageName=pkg.getName();
        System.out.println("包名"+packageName);

        //Method类，反射对象之一，他的每一个实例用于表示一个方法
        Method[]methods=cls.getMethods();
        System.out.println("一共"+methods.length+"个方法");
        for (Method method:methods){
            System.out.println(method.getName());
        }

    }

}
